/* Copyright (c) 2004-2024 Peigen.info. All rights reserved. */

package info.peigen.hotpot.business.customer.core.service.processor.base;

import info.peigen.hotpot.business.account.facade.AccountServiceFacade;
import info.peigen.hotpot.business.customer.core.repository.service.CustomerRepository;
import info.peigen.hotpot.business.customer.core.repository.service.PartnerRepository;
import info.peigen.hotpot.common.service.base.ProfileConfig;
import info.peigen.hotpot.common.service.base.processor.Processor;
import info.peigen.hotpot.component.open.crypt.service.OpenCryptService;
import lombok.AccessLevel;
import lombok.experimental.Accessors;
import lombok.experimental.FieldDefaults;
import org.noear.solon.annotation.Inject;


/**
 * <b>(AbstractCustomerServiceProcessor)</b>
 *
 * @author Peigen
 * @version 1.0.0
 * @since 2022/5/26
 */
@SuppressWarnings("ALL")
@FieldDefaults(level = AccessLevel.PROTECTED)
@Accessors(chain = true)
public abstract class AbstractCustomerServiceProcessor implements Processor {
    // Extend 查询站点ID传输Key
    public static final String  STATION_KEY     = "stationId";
    // Extend 是否为新客户
    public static final Boolean IS_NEW_CUSTOMER = false;

    // Customer
    @Inject
    CustomerRepository customerRepository;

    // Partner
    @Inject
    PartnerRepository partnerRepository;

    // Account
    @Inject
    AccountServiceFacade accountServiceFacade;

    // Crypt
    @Inject
    OpenCryptService openCryptService;

    @Inject
    ProfileConfig profileConfig;

}